home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Taifun / Taifun 099 (1989-05-15)(Ossowski, Stefan)(DE)(PD).zip / Taifun 099 (1989-05-15)(Ossowski, Stefan)(DE)(PD).adf / PCQ / Readme.PCQ < prev    next >
Text File  |  1989-03-31  |  5KB  |  110 lines

  1.  
  2.             PCQ Pascal Compiler
  3.       Copyright (c) 1989 Patrick Quaid.
  4.  
  5.    This is a slow Pascal sub-set compiler that produces
  6. assembly language code, which can then be compiled into executable
  7. programs.  Read Pascal.DOC for details.  The rest of the files in
  8. this archive are:
  9.  
  10. ReadMe.PCQ   This file.
  11. Pascal       The compiler.
  12. PCQ.lib      The run time library
  13. Pascal.DOC   Documentation.
  14. Make         A simple batch file that compiles, assembles and
  15.              links a simple program.  It uses T:, so you might
  16.              want to assign T: to something like ram: or rad:.
  17. Small.lib    The library vector offsets of all the system
  18.              routines.  This was put together by Matt Dillon.
  19.  
  20.    The following four files might not have been included in the
  21. archive.  I hope they were, but in any case all of the rest of the
  22. files must be.  If some are missing, write to me at the address at
  23. the bottom of this file to get a full version.
  24.  
  25. Blink        Software Distillery's linker.
  26. Blink.DOC    Documentation for that
  27. A68k         Charlie Gibbs' assembler
  28. A68k.DOC     Documentation for the assembler
  29.  
  30.    The following programs ending in .p are examples of various
  31. PCQ features.  They aren't worth much by themselves, but they show a
  32. bit of what PCQ can do.
  33.  
  34. ChopCL.p     Uses the command line and separate compilation.
  35. ChopTest.p   Runs the above through its paces.
  36. Copy.p       A very simple copy program.
  37. MapMaker.p   Another scenery generator.
  38. Moire.p      Shows the use of Intuition, Graphics, and Exec from PCQ.
  39. Nests.p      Shows nested procedures and scopes.
  40. RealIO.p     Readin' and writin' real numbers.
  41. Snow.p       Draws a fractal snowflake, and uses real math.
  42. Structures.p Demonstrates (not very) complex data objects.
  43. Typer.p      Ultra simple type program.
  44. WhereFrom.p  Demonstrates use of DOS functions.
  45.  
  46.    The files ending in .i are include files that define the
  47. interfaces to the system.  They are explained more fully in the
  48. files themselves.  Note that the example programs above expect
  49. these files to be in a subdirectory called "include".  If this
  50. is a problem, change the include statements in the example
  51. programs.
  52.  
  53. DOS.i        All the DOS routines and a couple of structures.
  54. Exec.i       Exec library and memory routines.
  55. ExecIO.i     For system IO.  You know, DoIO() and that lot.
  56. Ports.i      The structures and functions for messages and ports.
  57. Intuition.i  Mainly window and screen stuff so far.
  58. Graphics.i   Most of the drawing things, but no blitter stuff.
  59. StringLib.i  Very few routines for using strings in PCQ.
  60.  
  61.    As you will see if you look through the include files, they
  62. are not at all complete.  Perhaps they will be in the next
  63. version....  You might find, perhaps in a separate directory,
  64. the source code for the compiler.  The files have the following
  65. names:
  66.  
  67. Main.p          The main program, of course.
  68. Calls.p         A few code generation routines.
  69. IO.p            Handles input and output of the compiler.
  70. Statements.p    General statement parsing routines.
  71. Declarations.p  Variable, constant, and type declarations.
  72. Stanprocs.p     Handles write(), writeln(), read(), etc.
  73. Stanfuncs.p     Standard functions like abs(), ord(), etc.
  74. Expression.p    Parses all expressions.
  75. Initialize.p    Initializes the various tables.
  76. Utilities.p     Adds to and searches around the above mentioned tables.
  77. Pasvar.i        An include file that declares the variables.
  78. Pastype.i       An include file that declares the types.
  79. Pasconst.i      An include file that defines the constants.
  80. makeall         This is a batch file that compiles the above
  81.                 files using Pascal to create a compiler called
  82.                 Pascal2.  It takes, roughly speaking, forever.
  83. Pas2.w          A "with" file for Blink used in makeall.
  84.  
  85.    There might also be a directory with the source to the run
  86. time library.  If so, the files will all end with ".asm", and
  87. will include something called Explanation.txt, which describes
  88. the layout of the files in general terms.  The rest of the files
  89. are too numerous to mention, but if you run across about two dozen
  90. assembly files, you've found them.
  91.  
  92.  
  93.    The source files all use tab characters rather than spaces.  If
  94. these tabs are not expanded to eight spaces, as they are with the
  95. AmigaDOS "type" command, the indentation of all the programs will look
  96. pretty odd.  As far as I know, the AmigaDOS editor "Ed" will NOT
  97. properly handle the tabs.
  98.  
  99.     If you got an incomplete version or have any questions, write
  100. to me at:
  101.  
  102.    Pat Quaid
  103.    8320 E. Redwing
  104.    Scottsdale, AZ 85253
  105.  
  106.    The documentation, compiler, run time library, and source
  107. code for the compiler and run time library are all copyrighted by
  108. me, but feel free to distribute complete copies of this archive.
  109.  
  110.